A computer network is a collection of interconnected computing devices that can exchange data and share resources. In a packet-based network, the computing devices communicate data by dividing the data into small blocks called packets, which are individually routed across the network from a source device to a destination device. Certain devices, referred to as routers, operate within a computer network to maintain routing information that describes routes through the network. A “route” can generally be defined as a path between two locations on the network. Routers include a control plane that maintains the routing information, and a data plane that forwards received packets according to the routing information.
Network service providers provide services to subscribers such as security, tunneling, virtual private networks, filtering, load balancing, VoIP/Multimedia processing and various types of application proxies (HTTP, XML, WAP, etc.) to incoming packets. Service providers also provide content-specific services designed to improve the quality of a user's experience, for example, video streaming and caching.
In some examples, numerous cloud data centers implement the network infrastructure of the network service provider. For example, each cloud data center may provide a large collection of interconnected servers that provide computing (e.g., compute nodes) and/or storage capacity to run various network service applications. Each cloud data center may comprise a facility that hosts applications and services for the subscribers. The cloud data center for example, hosts all of the infrastructure equipment, such as networking and storage systems, redundant power supplies, and environmental controls. In a typical data center, clusters of storage systems and application servers are interconnected via high-speed switch fabric provided by one or more tiers of physical network switches and routers. More sophisticated data centers provide infrastructure that is spread throughout the world with subscriber support equipment located in various physical hosting facilities. These application servers typically execute various protocols and exchange signaling messages to anchor and manage subscriber sessions and communication flows associated with subscriber devices.
A software defined networking (SDN) controller and/or a network functions virtualization (NFV) orchestrator may be included in the network architecture to provide centralized control of the subscriber sessions and communication flows within the service provider network. An SDN architecture is often used to provide at least a degree of separation of the control plane and the data plane in network devices, and the abstraction of the control plane into a more modular and layered architecture. An NFV architecture provides virtualization to remove dependency on specialized hardware and to consolidate many different network equipment types onto industry standard high volume servers, switches and storage, which may be located in data centers, network nodes and in end user premises.